//入口函数
$(function(){
    // 需求1 点击a连接 显示隐藏
    $('#loginBox a').on('click',function(){
        //点击的登录框内部的a连接
        //显示的是注册区域，隐藏登录区域
        $('#loginBox').hide()
        $('#regBox').show()
    })
    $('#regBox a').on('click',function(){
        //点击的注册框内部的a连接
        //显示的是登录区域，隐藏注册区域
        $('#regBox').hide()
        $('#loginBox').show()
    })

    // 功能2  表单验证   自定义校验规则
    // 只要导入layui.all.js 就会多一个对象 layui 
    let form = layui.form
    //from上面有个方法是verify()参数 参数是个对象  属性是规则名称  值是规则
    form.verify({
        // 参数是一个对象，属性是规则名 值是规则
        // 值有两种数组函数   S代表非空白字符
        username:[
            /^[\S]{1,10}$/,
            '用户名必须1到10位，且不能出现空格'
        ],
        
        //我们既支持上述函数式的方式，也支持下述数组的形式
        //数组的两个值分别代表：[正则匹配、匹配不符时的提示文字]
        pwd: [
          /^[\S]{6,15}$/
          ,'密码必须6到12位，且不能出现空格'
        ],
        // 确认密码规则
        rePwd:function(value){
            // value 就是你给哪个标签添加这个校验规则  这个标签的值就赋值给value
            // console.log(value);
            // //属性选择器
            // console.log($('#regBox input[name=password]').val());
            // console.log($('#regBox input[name=repassword]').val());
            // return 111
            let pwd = $("#regBox input[name=password]").val()
            if(pwd !== value){
                return '两次密码不一致'
            }
        }
      });  
    
   
    // 功能3 注册功能
    let layer = layui.layer
    $('#regBox form').on('submit',function(e){
        e.preventDefault() 
        // console.log(data);
        // 发送axios
        let data = $(this).serialize()
        axios({
            method:'POST',
            url:'/api/reguser',
            data:data
        }).then(res=>{
            layer.msg(res.data.message)
            if(res.data.status === 0){
                // 重置表单切换盒子
                $('#regBox form')[0].reset()
                // 切换盒子
                // $('#regBox').hide()
                // $('#loginBox').show()
                $('#regBox a').click()
            }
        })

    })

    
    // 功能4  登录功能
    $('#loginBox form').on('submit',function(e){
        // 阻止默认行为
        e.preventDefault()
        // 发送axios
        axios({
            method:'POST',
            url:'/api/login',
            // 不要传递对象类型  // serialize a=1&b=2&c=3
            data: $(this).serialize()
            
        }).then(res=>{
            // console.log(res.data);
            if(res.data.status !== 0){
                // 提示
                return layer.msg(res.data.message)
            }
                // 成功 提示 存储tokin
                layer.msg("恭喜登录成功")
                    // 存储token
                    localStorage.setItem('token',res.data.token)
                    location.href ='/index.html'
                
            
        })
    })
            
})